/**
 * 公共接口
 */
import { request } from 'umi';

export type SelectListItem = {
  aid: number;
  name: string;
  isStop?: boolean;
};

export type RegionListItem = {
  id: number;
  name: string;
  isLeaf: boolean;
  leafFlag: number;
};

// 查询出下拉部门列表
export async function getListDepartment() {
  return request<SelectListItem[]>('/common/getListDepartment');
}

// 查询出所有的学校列表
export async function getListSchool() {
  return request<{ id: number; name: string }[]>('/common/getListSchool');
}

// 查询出所有的银行列表
export async function getListBank() {
  return request<{ id: number; name: string }[]>('/common/getListBank');
}

// 查询出工作人员负责驾校aid列表
export async function getListDriverSchoolByStaff() {
  return request<SelectListItem[]>('/common/getListDriverSchoolByStaff');
}

// 查询出工作人员负责的驾校下负责的校区
export async function getListCampusByStaff(params: { aid: number | undefined }) {
  return request<SelectListItem[]>('/common/getListCampusByStaff', {
    params,
  });
}

// 查询出工作人员负责的片区
export async function getListAgentArea() {
  return request<SelectListItem[]>('/common/getListAgentArea');
}

// 查询出所有的考试科目
export async function getListSubject() {
  return request<{ id: number; name: string }[]>('/common/getListSubject');
}

// 查询出所有的考试车型
export async function getListExamCarType() {
  return request<{ id: number; name: string }[]>('/common/getListExamCarType');
}

// 查询出所有的考试费用类型
export async function getListExamCarFeeType() {
  return request<SelectListItem[]>('/common/getListExamCarFeeType');
}

// 查询出所有的驾校
export async function getListDriverSchool() {
  return request<SelectListItem[]>('/common/getListDriverSchool');
}

// 查询出驾校下的校区
export async function getListCampus(params: { aid: number }) {
  return request<SelectListItem[]>('/common/getListCampus', {
    params,
  });
}

// 查询出驾校下校区指定的报名点
export async function getListEnrollSite(params: { aid: number; campusAid: number }) {
  return request<SelectListItem[]>('/common/getListEnrollSite', {
    params,
  });
}

// 查询出报名状态列表
export async function getListEnrollState() {
  return request<{ id: number; name: string }[]>('/common/getListEnrollState');
}

// 查询出报名来源
export async function getListEnrollFrom() {
  return request<{ id: number; name: string }[]>('/common/getListEnrollFrom');
}

// 查询出付款类型
export async function getListPayType() {
  return request<{ id: number; name: string }[]>('/common/getListPayType');
}

// 查询出支付方式
export async function getListTypePay() {
  return request<{ id: number; name: string }[]>('/common/getListTypePay');
}

// 查询地域列表
export async function getListRegion(params: { id: number; leafFlag: number }) {
  return request<RegionListItem[]>('/common/getListRegion', { params });
}

// 查询出证件类型
export async function getListIdType() {
  return request<{ id: number; name: string }[]>('/common/getListIdType');
}

// 查询出所有的职业
export async function getListWork() {
  return request<SelectListItem[]>('/common/getListWork');
}

// 查询出所有的学员类别
export async function getListEnrollType() {
  return request<{ id: number; name: string }[]>('/common/getListEnrollType');
}

// 查询出所有的业务类型
export async function getListEnrollBusinessType() {
  return request<{ id: number; name: string }[]>('/common/getListEnrollBusinessType');
}

// 根据驾校和校区查询出班型列表
export async function getListClassType(params: { schoolAid: number; campusAid: number }) {
  return request<SelectListItem[]>('/common/getListClassType', {
    params,
  });
}

// 查询出驾校下校区指定的考点（考试场地）
export async function getListExamSite(params: { aid: number; campusAid: number }) {
  return request<{ aid: number; name: string }[]>('/common/getListExamSite', {
    params,
  });
}

// 查询出代理类型
export async function getListAgentType() {
  return request<{ id: number; name: string }[]>('/common/getListAgentType');
}

// 查询出考试类型
export async function getListExamType() {
  return request<{ id: number; name: string }[]>('/common/getListExamType');
}

// 【公共】查询出退费类型
export async function getList() {
  return request<{ id: number; name: string }[]>('/common/getList');
}

// 查询出驾校下校区指定的训练场地
export async function getListTrainingSite(params: { aid: number; campusAid: number }) {
  return request<SelectListItem[]>('/common/getListTrainingSite', {
    params,
  });
}

// 查询出保险类型列表
export async function getListEnrollInsuranceType() {
  return request<{ id: number; name: string }[]>('/common/getListEnrollInsuranceType');
}

// 查询出教练资格证等级
export async function getListCoachLicense() {
  return request<{ id: number; name: string }[]>('/common/getListCoachLicense');
}

// 查询出所有的服务项
export async function getListServiceType() {
  return request<{ id: number; name: string }[]>('/common/getListServiceType');
}

// 获取快递公司列表
export async function getListTypeExpress() {
  return request<{ id: number; name: string }[]>('/common/getListTypeExpress');
}

// 查询转账方式列表
export async function getListTypeMoneyOut() {
  return request<{ id: number; name: string }[]>('/common/getListTypeMoneyOut');
}

// 查询正在支付的报名费用支付订单状态
export async function getEnrollPayOrder(params: { aid: number }) {
  return request<{ hasSuccess: boolean }>('/common/getEnrollPayOrder', { params });
}
